<?php
/**
 * Pàgina que s'encarrega de mostrar el llistat d'objectes del inventari,
 * realitzant un filtre per tipus de material i/o ubicació.
 *  Es carrega a index.php mitjantçant ajax.
 *
 * @see objectes.php
 *
 * @copyright 2009 - Equip de Desenvolupament de ASI 2
 * @link http://www.iescopernic.com
 * @version 1.0
 * @license GNU/GPL-http://www.gnu.org/copyleft/gpl.html
 * @package CreditSintesis
 * @subpackage sec
 * @author ASI 2
 */

/**
 * Arxiu que ens permet garantir seguretat a l'aplicació
 * @see seguretat_seccio.php
 */
include_once '../includes/seguretat_seccio.php';

/**
 * Arxiu que gestiona la connexió amb la base de dades
 * @see conector.php
 */
include_once '../includes/conector.php';

/**
 * Pàgina que conté la funcions per a formatar
 * cadenas abans d'introduir-l a ala base de dades.
 * @see formatejar.php
 */
include_once '../includes/formatejar.php';

//creem un objecte de la classe conector per a conectar a la bd
$conec = new conector();

//variable que ens diu els registres que volem mostrar per pàgina
$registresAmostrar=7;

//si rebem el numero de pàgina a mostrar
if(isset($_GET['pag'])){
    //calculem el número de gegistre per el que hem de començar a fer la consulta
    $registresAcomençar=($_GET['pag']-1)*$registresAmostrar;
    //la pagina actual passa a ser la que em rebut per get
    $pagAct=$_GET['pag'];
    //si no rebem cap pagina es que estem a la primera
}else{
    $registrosAcomençar=0;
    $pagAct=1;
}

//si em camviat el select de tipus fem la consulta filtran només per tipus
if(isset($_GET['tipus']) && $_GET['ubicacio']==0){
    $tipus=$_GET['tipus'];
    $consulta = "SELECT * FROM objectes, espais WHERE objectes.tipus='".$tipus."'
                 AND objectes.ubicacio=espais.id_espai LIMIT $registresAcomençar, $registresAmostrar";

    //obtenim el número de registres totals de la consulta realitzada
    $consulta1 = "SELECT * FROM `objectes` WHERE tipus='".$tipus."'";
    $numRegistres = $conec ->num_filas($consulta1);
    //si em camviat el select de la ubicacio fem la consulta filtran només per ubicacio
}else if(isset($_GET['ubicacio']) && $_GET['tipus']==0){
    $ubicacio=$_GET['ubicacio'];
    $consulta = "SELECT * FROM objectes, espais WHERE ubicacio='".$ubicacio."'
                 AND ubicacio=id_espai LIMIT $registresAcomençar, $registresAmostrar";

    //obtenim el número de registres totals de la consulta realitzada
    $consulta1 = "SELECT * FROM `objectes` WHERE ubicacio='".$ubicacio."'";
    $numRegistres = $conec ->num_filas($consulta1);
    //si en camviat els dos selects fem la consulta filtran per tipus i ubicacio
}else{
    //consulta que retorna els tipus de material
    $tipus =$_GET['tipus'];
    $ubicacio =$_GET['ubicacio'];
    $consulta = "SELECT * FROM objectes, espais WHERE tipus='".$tipus."'
                 AND ubicacio=id_espai AND ubicacio='".$ubicacio."' LIMIT $registresAcomençar, $registresAmostrar";

    //obtenim el número de registres totals de la consulta realitzada
    $consulta1 = "SELECT * FROM `objectes` WHERE ubicacio='".$ubicacio."' AND tipus='".$tipus."'";
    $numRegistres = $conec ->num_filas($consulta1);
}

//guardem el resultat de la consulta a $resultat
$resultat = $conec ->consultar($consulta);

//tanquem la conexio
$conec ->tancar();

?>

<!-- comença el HTML -->

<!-- Tot el que posem aqui es el que retornarem a la pagina principal dins el div centre-->
<div id="divContenido" name="divContenido">

    <table aling="center" border="0" width="600" cellspacing="1" cellpadding="3">
        <?php

        //si s'han trobat resultats mostrem es capçaleres sino mostrem missatge d'error
        if ($numRegistres > 0){
            echo '<tr>';
            echo '<th align="center">REFERÈNCIA</th>';
            echo '<th align="center">MARCA</th>';
            echo '<th align="center">MODEL</th>';
            echo '<th align="center">UBICACIÓ</th>';
            echo '<th align="center">DESCRIPCIÓ</th>';
            echo '<th aling="center">TRIAR</th>';
            echo '</tr>';
            echo '<tr>&nbsp</tr>';
        }else{
            echo '<div  id="error">';
            echo '<center>No s\'han trobat resultats . . .</center>';
            echo '</div>';
        }

        //variable que ens permet pintar els tr de color diferent
        $cont = 0;

        //mostrem els registres si es que ni han
        while($res = mysql_fetch_array($resultat)){
            ?>
        <tr <?php if (($cont%2) == 0) echo 'id="gris"';else echo 'id="blanc"';?> onmouseover="this.style.cursor='pointer'" >
            <td align="center" onclick="subfinestra1('sec/fitxa.php?id=<?php echo $res['idobjecte'];?>','Alta Objectes')">
                <?php echo utf8_encode($res['referencia']);?>
            </td>
            <td align="center" onclick="subfinestra1('sec/fitxa.php?id=<?php echo $res['idobjecte'];?>','Alta Objectes')">
                <?php echo utf8_encode($res['marca']);?>
            </td>
            <td align="center" onclick="subfinestra1('sec/fitxa.php?id=<?php echo $res['idobjecte'];?>','Alta Objectes')">
                <?php echo utf8_encode(retallar($res['model'], 7));?>
            </td>
            <td align="center" onclick="subfinestra1('sec/fitxa.php?id=<?php echo $res['idobjecte'];?>','Alta Objectes')">
                <?php echo utf8_encode(retallar($res['nom_espai'], 6));?>
            </td>
            <td align="left" onclick="subfinestra1('sec/fitxa.php?id=<?php echo $res['idobjecte'];?>','Alta Objectes')">
                <?php echo utf8_encode(retallar($res['descripcio'], 23));?>
            </td>
            <td align="center">
                <!--Checkbox per a selecionar el registre en concret -->
                <input type="checkbox" name="<?php echo $res['idobjecte'];?>" >
            </td>
        </tr>
        
        <!-- tanquem el while de php -->
    <?php
    //augmentem en 1 el contador
    $cont ++;
    }
    ?>
    </table>
</div>
<!-- si no tenim resultats que mostrar no mostrem les pagines -->
<?php if ($numRegistres > 7){

    echo '<table aling="center" border="0" width="600" cellspacing="1" cellpadding="3">';
    echo '<th>';

    //pagina anterior es la actual - 1
    $pagAnt=$pagAct-1;
    //pagina següent es la actual +1
    $pagSig=$pagAct+1;
    //ultima pagina es el numero de registres totals dividid el numero de registrea a mostrar
    $pagUlt=$numRegistres/$registresAmostrar;

    //procediment per a gestionar posibles decimals,es a dir i si la ultima pagina es la 4.5?
    //calculem el residu entre registres totals i registres a mostrar
    $resi=$numRegistres%$registresAmostrar;
    // si hi ha residu utilitzem la funcio floor per a que ens
    // retorni la part entera sense redondejar i li sumem 1
    // per aconseguir el valor de l'ultima pàgina
    if($resi>0){
        $pagUlt=floor($pagUlt)+1;
    }

    //codi del desplaçament entre pàgines

    //per anar a la primera pàgina em d'enviar un 1, si tenim pagines que mostrar
    if (($pagUlt > 1) && ($pagAct != 1))echo "<a onmouseover=\"this.style.cursor='pointer' \"onclick=\"enviar('1')\"> << </a> ";

    //si la pagina actual es major que 1 mostrem codi per retroçedir
    if($pagAct>1) echo "<a onmouseover=\"this.style.cursor='pointer' \"onclick=\"enviar('$pagAnt')\">&nbsp < &nbsp </a> ";

    //mostrem el número de pàgina en que estem de cuantes si hi han resultats
    if ($pagUlt > 1) echo "<strong>Pàgina ".$pagAct." de ".$pagUlt."</strong>";

    //si la pàgina actual es menor que l'última mostrem codi per anar a la següent
    if($pagAct<$pagUlt)  echo " <a onmouseover=\"this.style.cursor='pointer' \"onclick=\"enviar('$pagSig')\">&nbsp > &nbsp</a>";

    //mostrem codi per anar a l'última pàgina, si tenim pagines que mostrar
    if ($pagUlt > $pagAct) echo "<a onmouseover=\"this.style.cursor='pointer' \"onclick=\"enviar('$pagUlt')\"> >></a>";

    echo '</th>';
    echo '</table>';
}
?>
